<?php
    
    require_once APPPATH . 'dao/ServicioAdicionalProfesorDAO.php';
      require_once APPPATH . 'dao/ProfesorDAO.php';
    class Profesores extends MY_Controller {
        
        function __construct() {
            parent::__construct();
    	}
        
        /*
         * index() se ejecuta por defecto al ser cargado del controlador
         */
        public function index(){
            
            $data['profesores'] = $this->realizarConsultaProfesores();
            
            $data['totalRegistros'] = $this->getCantProfesores();
            $data['cantReg'] = 10;
            $num_pag = $this->input->get("pagina");
            $data['numPag'] = (!$num_pag) ? 1 : $num_pag;
            
            $dataCab['title'] = 'Sistema de Administración de Socios';
            $dataCab['textoSuperiorIzq'] = 'DEFENSORES DE LA TECNO';
            $dataCab['css'] = '<link rel="stylesheet" type="text/css" href="' . site_url() . 'application/views/css_estandar/css_pestanias.css" media="screen" />
                               <link rel="stylesheet" type="text/css" href="' . site_url() . 'application/views/css_estandar/datos_form_css.css" media="screen" />';
            

            $dataCab['nombre'] = 'Administrador';
            $dataCab['posicionamiento'] = 'Home > Ver Profesores';
            
            $this->load->view('cabecera',$dataCab);
            $this->load->view('profesores',$data);
            $this->load->view('cierre');
            
        }
        
        private function getCantProfesores(){
            
            //Se instancioa ServicioAdicionalProfesorDAO
            $servadprofDAO = new ServicioAdicionalProfesorDAO();
            //Se invoca un método en ServicioAdicionalProfesorDAO para recuperar los servicios adicionales
            //con los importes por categoria, los profesores a cargo y los sueldos de los mismos
            $profesores = $servadprofDAO->getProfesores();
            
            $i=0;
            
            foreach($profesores as $profesor)
                $i++;
            
            return $i;
            
        }
        
        public function realizarConsultaProfesores(){
            
            $cant_reg = 10;
            $num_pag = $this->input->get("pagina");

            if (!$num_pag) {
                $comienzo = 0;
                $num_pag = 1;
            }
            else
                $comienzo = ($num_pag - 1) * $cant_reg;
            
            //Se instancioa ServicioAdicionalProfesorDAO
            $servadprofDAO = new ServicioAdicionalProfesorDAO();
            //Se invoca un método en ServicioAdicionalProfesorDAO para recuperar los servicios adicionales
            //con los importes por categoria, los profesores a cargo y los sueldos de los mismos
            return $servadprofDAO->getProfesoresEnLimit($comienzo, $cant_reg);
            
        }
        public function test(){
                
            $i=0;
          
            //Prueba 1 : Obtener Todos Los profesores
            
            $proDAO = new \ProfesorDAO();
            $test = $proDAO->getProfesores();
       
            $expected_result = NULL;
            
            $profe1 = new models\M_profesor();
            $profe1->setId(1);
            $profe1->setNombre('MANUEL');
            $profe1->setApellido('MOREIRA');
             
            
            $profe2 = new models\M_profesor();
            $profe2->setId(2);
            $profe2->setNombre('JOSÉ');
            $profe2->setApellido('ARGENTO');
            
            $profe3 = new models\M_profesor();
            $profe3->setId(3);
            $profe3->setNombre('MÓNICA');
            $profe3->setApellido('ARGENTO');
            
            $profe4 = new models\M_profesor();
            $profe4->setId(4);
            $profe4->setNombre('FEDERICO');
            $profe4->setApellido('ARGENTO');
            
            $expected_result[0] =$profe1;
            $expected_result[1] =$profe2;
            $expected_result[2] =$profe3;
            $expected_result[3] =$profe4;
           
            
                        $test_name = 'Prueba '.++$i.' - Obtencion de Todos Los Cobradores';
            $this->unit->run($test, $expected_result, $test_name);
            //reportes
            echo $this->unit->report();

        }
        
    }
    
?>
